<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <!-- 引入样式 -->
  <link rel="stylesheet" href="../../plugins/element-ui/index.css" />
  <link rel="stylesheet" href="../../styles/common.css" />
  <link rel="stylesheet" href="../../styles/page.css" />
</head>
<body>
<div class="addBrand-container" id="member-add-app">
  <div class="container">
    <el-form
            ref="ruleForm"
            :model="ruleForm"
            :rules="rules"
            :inline="false"
            label-width="180px"
            class="demo-ruleForm"
    >

      <el-form-item
              label="部门名称:"
              prop="dept_name"
      >
        <el-input
                v-model="ruleForm.dept_name"
                placeholder="部门名称"
                maxlength="20"
        />
      </el-form-item>

      <el-form-item
              label="部门状态:"
              prop="dept_status"
      >
        <el-radio-group v-model="ruleForm.dept_status">
          <el-radio label="正常">正常</el-radio>
          <el-radio label="停用">停用</el-radio>
        </el-radio-group>
      </el-form-item>
      <div class="subBox address">
        <el-form-item>
          <el-button  @click="goBack()">
            取消
          </el-button>
          <el-button
                  type="primary"
                  @click="submitForm('ruleForm', false)"
          >
            保存
          </el-button>
          <el-button
                  v-if="actionType == 'add'"
                  type="primary"
                  class="continue"
                  @click="submitForm('ruleForm', true)"
          >
            保存并继续添加
          </el-button>
        </el-form-item>
      </div>
    </el-form>
  </div>
</div>
<!-- 开发环境版本，包含了有帮助的命令行警告 -->
<script src="../../plugins/vue/vue.js"></script>
<!-- 引入组件库 -->
<script src="../../plugins/element-ui/index.js"></script>
<!-- 引入axios -->
<script src="../../plugins/axios/axios.min.js"></script>
<script src="../../js/request.js"></script>
<script src="../../api/member.js"></script>
<script src="../../js/validate.js"></script>
<script src="../../js/index.js"></script>
<script>
    new Vue({
        el: '#member-add-app',
        data() {
            return {
                id: '',
                actionType : '',
                ruleForm : {
                    'dept_name': '',
                    'dept_status': '正常',
                }
            }
        },
        computed: {
            rules () {
                return {
                    //账号
                    // username: [
                    //     {
                    //         required: true, 'validator': checkUserName, trigger: 'blur'
                    //     }
                    // ],
                    // //姓名
                    // name: [{ required: true, 'validator': checkName, 'trigger': 'blur' }],
                    // 'phone': [{ 'required': true, 'validator': checkPhone, 'trigger': 'blur' }],
                    // 'idNumber': [{ 'required': true, 'validator': validID, 'trigger': 'blur' }]
                }
            }
        },
        created() {
            this.id = requestUrlParam('id')
            this.actionType = this.id ? 'edit' : 'add'
            if (this.id) {
                this.init()
            }
        },
        mounted() {
        },
        methods: {
            async init () {
                queryDeptById(this.id).then(res => {
                    console.log(res)
                    if (String(res.code) === '1') {
                        console.log(res.data)
                        this.ruleForm = res.data
                        this.ruleForm.dept_status = res.data.dept_status === '0' ? '女' : '男'
                        // this.ruleForm.password = ''
                    } else {
                        this.$message.error(res.msg || '操作失败')
                    }
                })
            },
            submitForm (formName, st) {
                this.$refs[formName].validate((valid) => {
                    if (valid) {
                        if (this.actionType === 'add') {
                            const params = {
                                ...this.ruleForm,
                                dept_status: this.ruleForm.sex === '女' ? '0' : '1'
                            }
                            addDept(params).then(res => {
                                if (res.code === 1) {
                                    this.$message.success('员工添加成功！')
                                    if (st) {
                                        this.goBack()
                                    } else {
                                        this.ruleForm = {
                                            'dept_name': '',
                                            'dept_status': '正常',
                                        }
                                    }
                                } else {
                                    this.$message.error(res.msg || '操作失败')
                                }
                            }).catch(err => {
                                this.$message.error('请求出错了：' + err)
                            })
                        } else {
                            const params = {
                                ...this.ruleForm,
                                dept_status: this.ruleForm.sex === '女' ? '0' : '1'
                            }
                            editDept(params).then(res => {
                                if (res.code === 1) {
                                    this.$message.success('员工信息修改成功！')
                                    this.goBack()
                                } else {
                                    this.$message.error(res.msg || '操作失败')
                                }
                            }).catch(err => {
                                this.$message.error('请求出错了：' + err)
                            })
                        }
                    } else {
                        console.log('error submit!!')
                        return false
                    }
                })
            },
            goBack(){
                window.parent.menuHandle({
                    id: '8',
                    url: '/backend/page/dept/list.html',
                    name: '部门管理'
                },false)
            }
        }
    })
</script>
</body>
</html>